package top.jojoace.demo.condition;

import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata;

/**
 * @author 陈Ser
 * @ClassName UserCondition
 * @description: TODO
 * @Date 2021/10/29 14:51
 * @Version 1.0
 */
public class UserCondition implements Condition {
    @Override
    public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {

        //返回配置文件application.properties 中 KEY 为 Conditional.condition 的 Value。
        String property = context.getEnvironment().getProperty("Conditional.condition");

        //忽略大小写匹配ConditionUser
        boolean b = "ConditionUser".equalsIgnoreCase(property);
        /*
        字符串对象.equals("str")；可能会有报错！
        "str".equals(字符串对象)；就不会有。
         */

        System.out.println("condition_Matches()...");

        return b;
        /**
         * 返回 true，加入容器。
         * 返回 fales，不加入容器。
         */
    }
}
